In coding theory, an erasure code is a forward error correction (FEC) code under the assumption of bit erasures (rather than bit errors), which transforms a message of k symbols into a longer message (code word) with n symbols such that the original message can be recovered from a subset of the n symbols. The fraction r=k/n is called the code rate. The fraction k′/k, where k′ denotes the number of symbols required for recovery, is called reception efficiency.
Regenerating codes address the issue of rebuilding (also called repairing) lost encoded fragments from existing encoded fragments. In more detail, regenerating codes' are a class of codes that aim to reduce the amount of download during repair, while retaining the storage efficiency of traditional maximum distance separable (MDS) code. This issue occurs in distributed storage systems where communication to maintain encoded redundancy is a problem.
A distributed storage system is generally is a computer network where information is stored on more than one node or device, often in a replicated fashion. It is often used to refer to either a distributed database where users store information on a number of nodes, or a computer network in which users store information on a number of peer network nodes. Distributed storage systems typically use an error detection and correction technique. Some distributed storage system use forward error correction techniques to recover the original file, chunk, or blob when parts of that file are damaged or unavailable. Others try again to download that file from a different mirror.